fn main() {
    let x = Box::new(4);
    let x_abs = i32::abs(*x);
    let x_abs_auto = x.abs();
    assert_eq!(x_abs, x_abs_auto);

    let r = &x;
    let r_abs = i32::abs(**r); // 显示双重解引用
    let r_abs_auto = r.abs(); // 隐式双重解引用
    assert_eq!(r_abs, r_abs_auto);

    let s = String::from("Hello");
    let s_len = str::len(&s);
    let s_len_auto = s.len();
    assert_eq!(s_len, s_len_auto);
}
